package com.net.oil.base;
/*
 * Created by lch on 2018/2/20 0020.
 * 作用：销毁持有view的引用，取消model中的订阅
 * mvp中的p层需要继承自该类
 */

public abstract class BasePresenter<T> {
    protected T view;

    public void attachView(T view) {
        this.view = view;
    }

    /**
     * 在baseActivity中，当activity销毁时调用，
     */
    void detachView() {
        unSubscribe();          //销毁view时，取消订阅
        if (view != null){
            view = null;
        }
    }

    /**
     * 取消model中的訂閱，需要在p层实现并调用model中的unSubscribe()方法
     */
    protected abstract void unSubscribe();
}
